package cn.com.dcsgo.service;

import cn.com.dcsgo.domain.MemberCollection;
import cn.com.dcsgo.domain.Prod;
import cn.com.dcsgo.dto.PageDTO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 针对表【member_collection(会员收藏表)】的数据库操作Service
 *
 * @author Dcsgo
 * @since 2025-10-30 15:57:19
 */
public interface MemberCollectionService extends IService<MemberCollection> {

    /**
     * 获取登录会员收藏商品数
     */
    Long getCollectionCount();

    /**
     * 分页获取收藏商品信息
     *
     * @param pageDTO 分页参数
     * @return 登录用户收藏商品信息
     */
    Page<Prod> getCollectProd(PageDTO pageDTO);

    /**
     * 商品是否收藏
     *
     * @param openid 会员ID
     * @param prodId 商品ID
     * @return 商品被会员收藏返回true，反之返回false
     */
    Boolean isCollected(String openid, Long prodId);

    /**
     * 收藏或取消收藏商品
     *
     * @param openid 会员ID
     * @param prodId 商品ID
     * @return 操作成功-true，操作失败false
     */
    boolean addOrCancel(String openid, Long prodId);
}
